<?php

// 第一大步 统一格式

// 一 统一文件 格式  将不同的上传数据统一成一样的格式
function format(){
	
	// 二 定义一个变量  储存转换后的上传数据 
	$files = array();
	// 三 遍历上传的文件
	foreach ($_FILES as $file) {
	// 四 判断如果上传的文件是数组格式的 那么执行下面的语句
		if(is_array($file['name'])){
		//五 遍历文件里面的数组 然后统一格式
			foreach ($file['name'] as $id => $name) {
				$tmp['name']=$file['name'][$id];
				$tmp['type']=$file['type'][$id];
				$tmp['size']=$file['size'][$id];
				$tmp['tmp_name']=$file['tmp_name'][$id];
				$tmp['error']=$file['error'][$id];
				$files[]= $tmp;
			}
		}else{
			// 如果上传的是一个文件那么就直接转换格式
			$files[] = $file;
		}
	}
	return $files;
}

// print_r(format($_FILES)) ; 


// 第二大步  将上传的文件 移动到 指定的路径中

function upload03(){
	// 一 把上面处理的文件 存储起来
	$files = format();
	//二 创建文件路径
	$dir = 'upload03/'.date('y/m');
	// 判断是否有相同的文件如果没有就创建
	is_dir($dir) or mkdir($dir,0755,true);
	//九 创建一个空数组 用来存放 已经转换好的文件
	$data = array();
	//三 遍历刚刚上存储起来的文件
	foreach ($files as $f) {
		//四 判断 如果文件上传成功 并且文件合法执行下面的语句
		if ($f['error']==0 && is_uploaded_file($f['tmp_name'])) {
			//五 获取文件的信息 里面的后缀
			$info = pathinfo($f['name'])['extension'];
			//六 取得文件的路径
			$exi = $dir.'/'.mt_rand().time().'.'.$info;
			//七 把文件移动到 指定的路径中
			// move_uploaded_file($f['tmp_name'], $exi);
			//八 如果已经移动文件到了指定的路径中 那么就把文件的信息压入到数组中
			if (move_uploaded_file($f['tmp_name'], $exi)) {
				$f['time'] = time();
				$f['filename'] = $exi;
				$data[] = $f;
			}
		}
	}
	return $data;
}



?>